package com.weishu.core.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 企业账户流水明细(企业账户变动历史记录)
 * </p>
 *
 * @author zgx
 * @since 2021-10-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_cw_balance")
public class CwBalance implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键 自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 商户ID
     */
    private Long businessId;

    /**
     * 商户名称
     */
    private String businessName;

    /**
     * 流水操作类型(画面查询显示用),1：收入，2：支出
     */
    private Integer balanceType;

    /**
     * 操作类型,1：充值（企业充值），2：提现（企业提现），3：收款（企业收款计划），4：付款（企付款款计划）
     */
    private Integer operationType;

    /**
     * 操作业务订单ID，业务订单ID（收/付款计划ID，提现的时候，为提现申请单号，充值就是充值单号）
     */
    private Long ywOrderId;

    /**
     * 业务订单号(收付款计划号，提现申请单号，充值单号)
     */
    private String ywOrderNo;

    /**
     * 支付订单ID, 对应的支付订单（t_cw_pay_order）流水ID，无流水的时候无
     */
    private Long payOrderId;

    /**
     * 支付订单号（操作订单号），对应的支付订单（t_cw_pay_order）流水号，无流水的时候无
     */
    private String payOrderNo;

    /**
     * 操作明细（收付款的时候，根据款项来，充值就是充值，提现就是提现）
     */
    private String opItem;

    /**
     * 操作时间
     */
    private LocalDateTime opTime;

    /**
     * 操作金额
,负数时为减
     */
    private BigDecimal amount;

    /**
     * 新的余额
     */
    private BigDecimal balance;

    /**
     * 合同ID，有对应的合同的时候记录
     */
    private Long contractId;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 合同类型, 1：收房合同，2：出房合同
     */
    private Integer contractType;

    /**
     * 状态编码（预留字段，因为来源比较多，状态不固定，暂时不用，直接用状态名称来显示，）
     */
    private Integer statusCode;

    /**
     * 状态（由对应业务处理情况实时更新）
     */
    private String statusName;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 预留字段1
     */
    private BigDecimal reserve1;

    /**
     * 预留字段2
     */
    private Integer reserve2;

    /**
     * 预留字段3
     */
    private String reserve3;

    /**
     * 预留字段4
     */
    private String reserve4;

    /**
     * 预留字段5
     */
    private String reserve5;

    /**
     * 删除标识,0:未删除，1：删除
     */
    private Boolean delFlg;

    /**
     * 创建用户ID
     */
    private Long createUserid;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新用户ID
     */
    private Long updateUserid;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;


}
